package com.gridmobi.xrtb.handler;


import com.gridmobi.xrtb.domain.dsp.DspCreativeBanner;
import com.gridmobi.xrtb.domain.dsp.DspCreativeHtml;
import com.gridmobi.xrtb.domain.dsp.DspCreativeNative;
import com.gridmobi.xrtb.domain.dsp.DspCreativeVideo;
import com.gridmobi.xrtb.domain.dsp.common.OpenApiParamDTO;
import com.gridmobi.xrtb.domain.dsp.common.OpenApiResponseDTO;
import com.gridmobi.xrtb.model.rtb.Creative;

import java.util.List;
import java.util.Map;

public interface DataSynchHandler {

    public Map<String, Map<String, Map>> synchCampaignTrend();

    public OpenApiResponseDTO synchCampaigns(OpenApiParamDTO param);

    public OpenApiResponseDTO synchCfg(OpenApiParamDTO param);

    public List<DspCreativeBanner>   synchCreativeBanner(OpenApiParamDTO param);

    public List<DspCreativeVideo>  synchCreativeVideo(OpenApiParamDTO param);

    public List<DspCreativeHtml>  synchCreativeHtml(OpenApiParamDTO param);

    public List<DspCreativeNative>  synchCreativeNative(OpenApiParamDTO param);


    public void convertNativeList(List<DspCreativeNative> list);
    public List<Creative> convertBannerList(List<DspCreativeBanner> list);

    public List<Creative> convertVideoList(List<DspCreativeVideo> list);

    public List<Creative> convertHtmlList(List<DspCreativeHtml> list);

    public OpenApiResponseDTO synchMicroBid(OpenApiParamDTO param);

    public OpenApiResponseDTO synchRules(OpenApiParamDTO param);
    public OpenApiResponseDTO synchBlocklist(OpenApiParamDTO param);
    public OpenApiResponseDTO synchOffers(OpenApiParamDTO param);


}
